﻿
namespace Pivotbrowser.Web
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Data.Objects.DataClasses;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies FachgruppeMetadata as the class
    // that carries additional metadata for the Fachgruppe class.
    [MetadataTypeAttribute(typeof(Fachgruppe.FachgruppeMetadata))]
    public partial class Fachgruppe
    {

        // This class allows you to attach custom attributes to properties
        // of the Fachgruppe class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class FachgruppeMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private FachgruppeMetadata()
            {
            }

            public string BEZ { get; set; }

            public string FACHGRUPPE1 { get; set; }

            public string STUDAB { get; set; }

            public string STUDABVER { get; set; }

            public string STUDFACH { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies Prüfung_StudentMetadata as the class
    // that carries additional metadata for the Prüfung_Student class.
    [MetadataTypeAttribute(typeof(Prüfung_Student.Prüfung_StudentMetadata))]
    public partial class Prüfung_Student
    {

        // This class allows you to attach custom attributes to properties
        // of the Prüfung_Student class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class Prüfung_StudentMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private Prüfung_StudentMetadata()
            {
            }

            public string MATRNR { get; set; }

            public string NOTE_ { get; set; }

            public string PRFBEM { get; set; }

            public string PRFFACH { get; set; }

            public string PRFFACHVER { get; set; }

            public string STUDAB { get; set; }

            public string STUDABVER { get; set; }

            [Include]
            public Prüfungsbemerkung PRÜFUNGSBEMERKUNG { get; set; }

            [Include]
            public Prüfungsfach PRÜFUNGSFACH { get; set; }

            [Include]
            public PrüfungsFachVersion PRÜFUNGSFACHVERSION { get; set; }

            public string SEMESTERNR { get; set; }

            public string STUDFACH { get; set; }

            [Include]
            public Semester SEMESTER { get; set; }

            public string TEILPRF { get; set; }

            [Include]
            public Teilprüfung TEILPRÜFUNG { get; set; }

            public string TITEL { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies PrüfungsbemerkungMetadata as the class
    // that carries additional metadata for the Prüfungsbemerkung class.
    [MetadataTypeAttribute(typeof(Prüfungsbemerkung.PrüfungsbemerkungMetadata))]
    public partial class Prüfungsbemerkung
    {

        // This class allows you to attach custom attributes to properties
        // of the Prüfungsbemerkung class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class PrüfungsbemerkungMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private PrüfungsbemerkungMetadata()
            {
            }

            public string BEZ { get; set; }

            public string PRFBEM { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies PrüfungsfachMetadata as the class
    // that carries additional metadata for the Prüfungsfach class.
    [MetadataTypeAttribute(typeof(Prüfungsfach.PrüfungsfachMetadata))]
    public partial class Prüfungsfach
    {

        // This class allows you to attach custom attributes to properties
        // of the Prüfungsfach class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class PrüfungsfachMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private PrüfungsfachMetadata()
            {
            }

            public string BEZ { get; set; }

            public string PRFFACH { get; set; }

            public string STUDAB { get; set; }

            public string STUDFACH { get; set; }

            public string ZEUGNISBEZ { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies PrüfungsFachVersionMetadata as the class
    // that carries additional metadata for the PrüfungsFachVersion class.
    [MetadataTypeAttribute(typeof(PrüfungsFachVersion.PrüfungsFachVersionMetadata))]
    public partial class PrüfungsFachVersion
    {

        // This class allows you to attach custom attributes to properties
        // of the PrüfungsFachVersion class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class PrüfungsFachVersionMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private PrüfungsFachVersionMetadata()
            {
            }

            public string ECTS { get; set; }

            public string PRFFACH { get; set; }

            public string PRFFACHVER { get; set; }

            public string STUDAB { get; set; }

            public string STUDABVER { get; set; }

            public string STUDFACH { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies SemesterMetadata as the class
    // that carries additional metadata for the Semester class.
    [MetadataTypeAttribute(typeof(Semester.SemesterMetadata))]
    public partial class Semester
    {

        // This class allows you to attach custom attributes to properties
        // of the Semester class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class SemesterMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private SemesterMetadata()
            {
            }

            public string BEZ { get; set; }

            public string SEMESTER1 { get; set; }

            public string SEMESTERNR { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StudAbVerMetadata as the class
    // that carries additional metadata for the StudAbVer class.
    [MetadataTypeAttribute(typeof(StudAbVer.StudAbVerMetadata))]
    public partial class StudAbVer
    {

        // This class allows you to attach custom attributes to properties
        // of the StudAbVer class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StudAbVerMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StudAbVerMetadata()
            {
            }

            public string ANZAHLFACHSEM { get; set; }

            public string BEZ { get; set; }

            public string ECTS { get; set; }

            public string MAXANZAHL { get; set; }

            public string MAXFACHSEM { get; set; }

            public string NACHHOLUNGTYP { get; set; }

            public string NOTENVERBESSERUNG { get; set; }

            public string STUDAB { get; set; }

            public string STUDABVER1 { get; set; }

            public string STUDFACH { get; set; }

            public string VOLEINHEIT { get; set; }

            public string WIEDERHOLUNGTYP { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StudentMetadata as the class
    // that carries additional metadata for the Student class.
    [MetadataTypeAttribute(typeof(Student.StudentMetadata))]
    public partial class Student
    {

        // This class allows you to attach custom attributes to properties
        // of the Student class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StudentMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StudentMetadata()
            {
            }
            public string EMAIL { get; set; }

            public string MATRNR { get; set; }

            public string NACHNAME { get; set; }

            public string ORT1 { get; set; }

            public string PLZ1 { get; set; }

            [Include]
            public Notizen NOTIZEN { get; set; }

            [Include]
            public EntityCollection<Prüfung_Student> PRÜFUNG_STUDENT { get; set; }

            public string SEX { get; set; }

            public string STRASSE1 { get; set; }

            [Include]
            public EntityCollection<StudentenFachSemester> STUDENTENFACHSEMESTER { get; set; }

            public string TELEFON1 { get; set; }

            public string VORNAME { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StudentenFachSemesterMetadata as the class
    // that carries additional metadata for the StudentenFachSemester class.
    [MetadataTypeAttribute(typeof(StudentenFachSemester.StudentenFachSemesterMetadata))]
    public partial class StudentenFachSemester
    {

        // This class allows you to attach custom attributes to properties
        // of the StudentenFachSemester class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StudentenFachSemesterMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StudentenFachSemesterMetadata()
            {
            }

            public string MATRNR { get; set; }

            [Include]
            public Semester SEMESTER { get; set; }

            public string SEMESTERNR { get; set; }

            public string STUDFACH { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StudienAbschnittMetadata as the class
    // that carries additional metadata for the StudienAbschnitt class.
    [MetadataTypeAttribute(typeof(StudienAbschnitt.StudienAbschnittMetadata))]
    public partial class StudienAbschnitt
    {

        // This class allows you to attach custom attributes to properties
        // of the StudienAbschnitt class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StudienAbschnittMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StudienAbschnittMetadata()
            {
            }

            public string ANZEIGE_FACHGRUPPEN { get; set; }

            public string REIHENFOLGE { get; set; }

            public string STUDAB { get; set; }

            public EntityCollection<StudAbVer> STUDABVER { get; set; }

            public string STUDFACH { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies StudienfachMetadata as the class
    // that carries additional metadata for the Studienfach class.
    [MetadataTypeAttribute(typeof(Studienfach.StudienfachMetadata))]
    public partial class Studienfach
    {

        // This class allows you to attach custom attributes to properties
        // of the Studienfach class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class StudienfachMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private StudienfachMetadata()
            {
            }

            public string BEZ { get; set; }

            public string FAK { get; set; }

            public string PRUEFUNG_AKTIV { get; set; }

            public string STUDFACH { get; set; }

            public string STUDIENGANG { get; set; }

            public string ZEUGNISBEZ { get; set; }
        }
    }

    // The MetadataTypeAttribute identifies TeilprüfungMetadata as the class
    // that carries additional metadata for the Teilprüfung class.
    [MetadataTypeAttribute(typeof(Teilprüfung.TeilprüfungMetadata))]
    public partial class Teilprüfung
    {

        // This class allows you to attach custom attributes to properties
        // of the Teilprüfung class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class TeilprüfungMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private TeilprüfungMetadata()
            {
            }

            public string ECTS { get; set; }

            public string PRFFACH { get; set; }

            public string PRFFACHVER { get; set; }

            public string STUDAB { get; set; }

            public string STUDABVER { get; set; }

            public string STUDFACH { get; set; }

            public string TEILPRF { get; set; }

            public string ZEUGNISBEZ { get; set; }
        }
    }
}
